package exception;
/**
 * throw关键字，用于将一个异常抛出
 * 通常下列情况下会主动将一个异常抛出到方法外：
 * 1.当前代码片段出现了异常，但是该异常不应该在此处被处理（责任问题）、
 * 2.程序可以运行，但运行结果不符合实际业务需求（本案例演示的）
 */
public class ThrowDemo {
    public static void main(String[] args)  {
        Person p = new Person();
        /**
         * 当我们调用一个含有throws声明异常抛出的方法时，编译器要求处理该异常，方法如下：
         * 1.使用try-catch语句处理异常
         * 2.使用throws语句将异常抛出
         * 具体选择哪种方式，取决于责任问题
         * 不能在main方法throws
         */
        try {
            p.setAge(222);
        } catch (IllegalAgeException e) {
            e.printStackTrace();//输出堆栈的跟踪信息
            System.out.println(e.getMessage());
        }
        System.out.println("此人年龄："+p.getAge());
    }
}
